// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/
 */
/dts-v1/;

#include "am5718.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "dra7-mmc-iodelay.dtsi"
#include "dra72x-mmc-iodelay.dtsi"
#include "am57xx-idk-common.dtsi"

/ {
	model = "TI AM5718 IDK";
	compatible = "ti,am5718-idk", "ti,am5718", "ti,dra7";

	memory@80000000 {
		device_type = "memory";
		reg = <0x0 0x80000000 0x0 0x40000000>;
	};

	leds {
		compatible = "gpio-leds";
		cpu0-led {
			label = "status0:red:cpu0";
			gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
			default-state = "off";
			linux,default-trigger = "cpu0";
		};

		usr0-led {
			label = "status0:green:usr";
			gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		heartbeat-led {
			label = "status0:blue:heartbeat";
			gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>;
			default-state = "off";
			linux,default-trigger = "heartbeat";
		};

		usr1-led {
			label = "status1:red:usr";
			gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		usr2-led {
			label = "status1:green:usr";
			gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		mmc0-led {
			label = "status1:blue:mmc0";
			gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
			default-state = "off";
			linux,default-trigger = "mmc0";
		};
	};

	idk-leds {
		status = "disabled";
		compatible = "gpio-leds";
		red0-led {
			label = "idk:red0";
			gpios = <&gpio6 19 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		green0-led {
			label = "idk:green0";
			gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		blue0-led {
			label = "idk:blue0";
			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		red1-led {
			label = "idk:red1";
			gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		green1-led {
			label = "idk:green1";
			gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		blue1-led {
			label = "idk:blue1";
			gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		red2-led {
			label = "idk:red2";
			gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		green2-led {
			label = "idk:green2";
			gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		blue2-led {
			label = "idk:blue2";
			gpios = <&gpio7 10 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		red3-led {
			label = "idk:red3";
			gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		green3-led {
			label = "idk:green3";
			gpios = <&gpio7 25 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		blue3-led {
			label = "idk:blue3";
			gpios = <&gpio7 24 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};
	};
};

&extcon_usb2 {
	id-gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
	vbus-gpio = <&gpio7 22 GPIO_ACTIVE_HIGH>;
};

&sn65hvs882 {
	load-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
};

&mailbox5 {
	status = "okay";
	mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
		status = "okay";
	};
	mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
		status = "okay";
	};
};

&mailbox6 {
	status = "okay";
	mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
		status = "okay";
	};
};

&pcie1_rc {
	status = "okay";
	gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>;
};

&mmc1 {
	pinctrl-names = "default", "hs";
	pinctrl-0 = <&mmc1_pins_default_no_clk_pu>;
	pinctrl-1 = <&mmc1_pins_hs>;
};

&mmc2 {
	pinctrl-names = "default", "hs", "ddr_3_3v";
	pinctrl-0 = <&mmc2_pins_default>;
	pinctrl-1 = <&mmc2_pins_hs>;
	pinctrl-2 = <&mmc2_pins_ddr_rev20 &mmc2_iodelay_ddr_conf>;
};
